iT邦幫忙

2024 iThome 鐵人賽

DAY 17
0

昨天提到了許多測試類型,今天要分別對這些測試類型來做簡單的介紹~

Unit Testing

Unit test就如同他的名字,是以一個軟體中最小可測試的單位(unit)來測試,通常是一個function或是method或是class,它的特點是執行速度快,範圍小,並且獨立於每一個test case,不會互相影響。

Smoke Testing

它的命名故事很有趣,因為工程師在首次啟動硬體設備時,如果沒有冒煙就代表測試成功XD (冒煙就是燒起來了)
它的特點是測試軟體主要功能的可行性,以確認軟體的穩定性,不涉及詳細的功能和邊界情況,因此測試範圍有限。
因此他執行的速度也較快。

User Acceptance Testing

UAT是確認軟體是否按照原先定義的需求和業務目標進行設計和開發,通常在一個接近生產環境的系統中進行測試,這個環境模擬了實際運行時的條件,跟正式環境要越像越好。
這樣才能滿足user的需求,通常是前後端整合一起給user測試而不像上面兩種是前後端可以分開測。

Integration Testing

整合測試的目的是確保各個模塊之間的數據交換、功能和interface能夠正常工作。
因此整合測試的範圍可以很大,也可以小到兩個模塊之間。

  • Bottom-Up Testing:
    • 從最底層的模塊開始測試,逐漸向上集成。
    • 底層模塊先進行測試,然後依次集成並測試更高層級的模塊。
  • Top-Down Testing:
    • 從最頂層的模塊開始測試,逐漸向下集成。
    • 高層模塊先進行測試,然後逐步集成和測試底層模塊,未完成的底層模塊可以使用替代物如stubs。
  • Big Bang Testing:
    • 將所有模塊一起集成,然後一次性進行測試。
    • 儘管簡單,但若出現錯誤,定位問題會比較困難,因為所有模塊同時被測試。

Regression Testing

回歸測試目的是確保軟體的修改不會引入新的錯誤或缺陷。每新增一個功能,它就會將所有的測試再跑一次,它的範圍包括單元測試、整合測試到系統測試,因此它跟重複跑unit test又有點不一樣。
因此它的測試範圍很大,跑一次的時間也會較unit test久。

Localization Testing

它的目的是確保所有的文字、訊息和用戶界面元素都正確翻譯並符合目標市場的語言規範。
例如這程式應該要使用user的母語,使用user的貨幣,並且沒有不穩定的 UI 問題。未能測試這些內容可能會導致代價高昂的誤解和user拒絕使用應用程式或產品。如果它不能反映user的文化、語言或生活方式,user可能會拒絕使用它並尋找替代方案。

Interoperability Testing

它的目的在於確保軟體或系統能夠在不同的平台、操作系統或硬體設備上相互運作。
例如跨OS測試,跨瀏覽器測試等。
因此它的範圍更大了,因為它的環境複雜很多,例如windows配chrome瀏覽器,或是linux配chrome瀏覽器是否都要測試過呢(?

總結

今天我們認識了不少的測試types,以後看到這些名詞就不會一頭霧水了XD

reference

https://testlio.com/blog/what-is-localization-testing/


上一篇
Day 16 Testing - Functional Testing
下一篇
Day 18 DB - ACID
系列文
Backend Developer的學習Roadmap30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言